package com.library_management;

import java.io.File;

/**
 * 验证 MVC 目录结构是否符合 library_management 项目规范
 */
public class MvcDirectoryTest {
    public static void main(String[] args) {
        // 项目根目录路径（可根据自己的项目实际路径调整，若运行报错可手动修改为绝对路径）
        String projectPath = System.getProperty("user.dir");
        String javaPath = projectPath + "/src/main/java/com/library_management/";
        String resourcesPath = projectPath + "/src/main/resources/";
        String webappPath = projectPath + "/src/main/webapp/";

        // 验证核心包是否存在
        checkDirectory(javaPath + "model", "Model 层包（model）");
        checkDirectory(javaPath + "controller", "Controller 层包（controller）");
        checkDirectory(javaPath + "dao", "DAO 层包（dao）");
        checkDirectory(javaPath + "jdbc", "工具层包（jdbc）");

        // 验证资源文件是否存在
        checkFile(resourcesPath + "db.properties", "数据库配置文件（db.properties）");

        // 验证视图层目录是否存在
        checkDirectory(webappPath + "jsp", "视图层目录（jsp）");
        checkDirectory(webappPath + "jsp/common", "公共视图组件目录（jsp/common）");

        System.out.println("\n目录结构验证完成！若所有组件均存在，说明 MVC 目录搭建符合规范。");
    }

    /**
     * 检查目录是否存在
     */
    private static void checkDirectory(String path, String name) {
        File dir = new File(path);
        if (dir.exists() && dir.isDirectory()) {
            System.out.println("[✓] " + name + " 存在");
        } else {
            System.out.println("[×] " + name + " 不存在，请检查路径：" + path);
        }
    }

    /**
     * 检查文件是否存在
     */
    private static void checkFile(String path, String name) {
        File file = new File(path);
        if (file.exists() && file.isFile()) {
            System.out.println("[✓] " + name + " 存在");
        } else {
            System.out.println("[×] " + name + " 不存在，请检查路径：" + path);
        }
    }
}